/**
 * @author : HESS MArjorie, THUILLIER Jules, G4 - CIP2
 */
package linkTreeInterface;

import java.util.regex.Pattern;



public class Word {
	private String mot = null;
	private String traduction = null;
	
	public Word(String mot, String trad){
		this.mot = mot;
		this.traduction = trad;
	}
	
	// Méthode pour modifier (edit) la traduction
	public void edit(String trad){
		this.traduction = trad;
	}
	
	// Méthode pour récuperer le mot Français
	public String getWord(){
		return this.mot;
	}
	
	// Méthode pour récuperer le mot Anglais
	public String getTrad(){
		return this.traduction;
	}
	
	/**
	 * Remplace la fonction "compareTo" anciennement utilisée dans ArbreBinaireOrdonneChaine
	 * @param e de Type Word ou m de Type String
	 * @return Resultat de la comparaison des 2 mot (en ignorant les majuscules)
	 */
	public int compare(Word e) {
		return (this.mot).compareToIgnoreCase(((Word)e).getWord()); 
	}
	
	public int compareMot(String m) {
		return (this.mot).compareToIgnoreCase(m); 
	}
	
	/**
	 * Rôle : compare en utilisant les expressions régulières
	 * @param m, l'expression régulière à comparer
	 * @return
	 */
	public boolean compareMotRegex(String m) {
		return Pattern.matches(m, this.mot);
	}
	
	/**
	 * Rôle : renvoit l'objet Word au format String, très important pour l'export
	 */
	public String toString(){
		return mot+":"+traduction+System.getProperty("line.separator");
	}
}
